package pe.edu.upc.dai.grupo4.model;

import java.util.ArrayList;
import java.util.List;

/**
 * Usuario del sistema.
 * 
 * @author pcsilshi
 */
public class Usuario {

    private Integer idUsuario;
    private String usuario;
    private String password;
    private String nombre;
    private String apellidoPaterno;
    private String apellidoMaterno;
    private List<Rol> roles = new ArrayList<Rol>();

    public Usuario() {
    }

    public Usuario(String usuario) {
        this.usuario = usuario;
    }

    public Usuario(Integer idUsuario, String usuario) {
        this.idUsuario = idUsuario;
        this.usuario = usuario;
    }

    /**
     * Busca si el usuario tiene el rol asignado
     *
     * @param codigo codigo del rol
     * @return true si el usuario tiene el rol, false en caso contrario
     */
    public boolean tieneRol(String codigo) {
        for (int i = 0; i < roles.size(); i++) {
            Rol rol = roles.get(i);
            if (rol.getCodigo().equals(codigo)) {
                return true;
            }
        }
        return false;
    }

    @Override
    public String toString() {
        return "Usuario[" + idUsuario + ", " + usuario + "]";
    }

    public String getApellidoMaterno() {
        return apellidoMaterno;
    }

    public void setApellidoMaterno(String apellidoMaterno) {
        this.apellidoMaterno = apellidoMaterno;
    }

    public String getApellidoPaterno() {
        return apellidoPaterno;
    }

    public void setApellidoPaterno(String apellidoPaterno) {
        this.apellidoPaterno = apellidoPaterno;
    }

    public Integer getIdUsuario() {
        return idUsuario;
    }

    public void setIdUsuario(Integer idUsuario) {
        this.idUsuario = idUsuario;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getUsuario() {
        return usuario;
    }

    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }

    public List<Rol> getRoles() {
        return roles;
    }

    public void setRoles(List<Rol> roles) {
        this.roles = roles;
    }
}
